﻿using System;

namespace Syngine.Input
{
	/// <summary>
	/// 
	/// </summary>
	public class InputCallback : IInputCallback
	{
		internal IInputAction Action { get; set; }

		public Action<InputCallbackContext> Callback { get; private set; }

		public IInputAction Call(Action<InputCallbackContext> callback)
		{
			if (callback == null)
			{
				throw new ArgumentNullException("callback");
			}

			Callback = callback;

			return Action;
		}
	}
}